home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / mozilla-firefox / include / layout / nsISVGRendererRegion.h < prev    next >
C/C++ Source or Header  |  2006-05-08  |  4KB  |  128 lines

  1. /*
  2.  * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsISVGRendererRegion.idl
  3.  */
  4.  
  5. #ifndef __gen_nsISVGRendererRegion_h__
  6. #define __gen_nsISVGRendererRegion_h__
  7.  
  8.  
  9. #ifndef __gen_nsISupports_h__
  10. #include "nsISupports.h"
  11. #endif
  12.  
  13. /* For IDL files that don't want to include root IDL files. */
  14. #ifndef NS_NO_VTABLE
  15. #define NS_NO_VTABLE
  16. #endif
  17. class nsISVGRectangleSink; /* forward declaration */
  18.  
  19.  
  20. /* starting interface:    nsISVGRendererRegion */
  21. #define NS_ISVGRENDERERREGION_IID_STR "9356e1c6-66e6-49a0-8c67-7e910270ed1e"
  22.  
  23. #define NS_ISVGRENDERERREGION_IID \
  24.   {0x9356e1c6, 0x66e6, 0x49a0, \
  25.     { 0x8c, 0x67, 0x7e, 0x91, 0x02, 0x70, 0xed, 0x1e }}
  26.  
  27. /**
  28.  * \addtogroup renderer_interfaces Rendering Engine Interfaces
  29.  * @{
  30.  */
  31. /**
  32.  * One of a number of interfaces (all starting with nsISVGRenderer*)
  33.  * to be implemented by an SVG rendering engine. See nsISVGRenderer
  34.  * for more details.
  35.  *
  36.  * This interface abstracts a rendering engine-native region object.
  37.  */
  38. class NS_NO_VTABLE nsISVGRendererRegion : public nsISupports {
  39.  public: 
  40.  
  41.   NS_DEFINE_STATIC_IID_ACCESSOR(NS_ISVGRENDERERREGION_IID)
  42.  
  43.   /**
  44.    * Return union of this region with another region.
  45.    *
  46.    * @param other Region to combine with.
  47.    * @return Union region.
  48.    */
  49.   /* nsISVGRendererRegion combine (in nsISVGRendererRegion other); */
  50.   NS_IMETHOD Combine(nsISVGRendererRegion *other, nsISVGRendererRegion **_retval) = 0;
  51.  
  52.   /**
  53.    * Write a sequence of rectangles approximating this region to the
  54.    * sink object. The approximation can be crude but should fully
  55.    * contain the actual region area.
  56.    *
  57.    * @param sink Rectangle sink to write to.
  58.    */
  59.   /* void getRectangleScans (in nsISVGRectangleSink sink); */
  60.   NS_IMETHOD GetRectangleScans(nsISVGRectangleSink *sink) = 0;
  61.  
  62. };
  63.  
  64. /* Use this macro when declaring classes that implement this interface. */
  65. #define NS_DECL_NSISVGRENDERERREGION \
  66.   NS_IMETHOD Combine(nsISVGRendererRegion *other, nsISVGRendererRegion **_retval); \
  67.   NS_IMETHOD GetRectangleScans(nsISVGRectangleSink *sink); 
  68.  
  69. /* Use this macro to declare functions that forward the behavior of this interface to another object. */
  70. #define NS_FORWARD_NSISVGRENDERERREGION(_to) \
  71.   NS_IMETHOD Combine(nsISVGRendererRegion *other, nsISVGRendererRegion **_retval) { return _to Combine(other, _retval); } \
  72.   NS_IMETHOD GetRectangleScans(nsISVGRectangleSink *sink) { return _to GetRectangleScans(sink); } 
  73.  
  74. /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
  75. #define NS_FORWARD_SAFE_NSISVGRENDERERREGION(_to) \
  76.   NS_IMETHOD Combine(nsISVGRendererRegion *other, nsISVGRendererRegion **_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->Combine(other, _retval); } \
  77.   NS_IMETHOD GetRectangleScans(nsISVGRectangleSink *sink) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRectangleScans(sink); } 
  78.  
  79. #if 0
  80. /* Use the code below as a template for the implementation class for this interface. */
  81.  
  82. /* Header file */
  83. class nsSVGRendererRegion : public nsISVGRendererRegion
  84. {
  85. public:
  86.   NS_DECL_ISUPPORTS
  87.   NS_DECL_NSISVGRENDERERREGION
  88.  
  89.   nsSVGRendererRegion();
  90.  
  91. private:
  92.   ~nsSVGRendererRegion();
  93.  
  94. protected:
  95.   /* additional members */
  96. };
  97.  
  98. /* Implementation file */
  99. NS_IMPL_ISUPPORTS1(nsSVGRendererRegion, nsISVGRendererRegion)
  100.  
  101. nsSVGRendererRegion::nsSVGRendererRegion()
  102. {
  103.   /* member initializers and constructor code */
  104. }
  105.  
  106. nsSVGRendererRegion::~nsSVGRendererRegion()
  107. {
  108.   /* destructor code */
  109. }
  110.  
  111. /* nsISVGRendererRegion combine (in nsISVGRendererRegion other); */
  112. NS_IMETHODIMP nsSVGRendererRegion::Combine(nsISVGRendererRegion *other, nsISVGRendererRegion **_retval)
  113. {
  114.     return NS_ERROR_NOT_IMPLEMENTED;
  115. }
  116.  
  117. /* void getRectangleScans (in nsISVGRectangleSink sink); */
  118. NS_IMETHODIMP nsSVGRendererRegion::GetRectangleScans(nsISVGRectangleSink *sink)
  119. {
  120.     return NS_ERROR_NOT_IMPLEMENTED;
  121. }
  122.  
  123. /* End of implementation class template. */
  124. #endif
  125.  
  126.  
  127. #endif /* __gen_nsISVGRendererRegion_h__ */
  128.